package net.leieuncretino.beta.prefixtree;

/**
 * The TransitionMap is an abstract representation of a game board.
 * It supports up to 64 positions and provides information about the value
 * at a particular position and the ability for positions to be connected.
 */
public interface MatriceLettere {

	/**
	 * Provides information about the connectivity between positions.
	 * The result is a 64-bit int that acts as a bitmap representation of the
	 * other positions that this position is connected to.
	 *
	 * @param 	position	the id of a position
	 * @return				a bitmap marking connected positions
	 */
	public long transitions(int position);
	
	/**
	 * Provides the value (letter) stored at a particular position.
	 *
	 * @param	position	the id of a position
	 * @return				the value stored at that position
	 */
	public int valueAt(int position);

	/**
	 * Provides the number of positions available on a particular board.
	 *
	 * @return				the number of positions
	 */
	public int getSize();

}
